#ifndef CONCRETE_IMPLEMENTOR_H
#define CONCRETE_IMPLEMENTOR_H

#include<iostream>
#include"implementor.h"
using namespace std;

class Light:public IElectricalEquipment{
public:
    ~Light()override{
        cout<<"Light destory..."<<endl;
    }

    /**
     * @brief 开灯
     */
    void PowerOn()override{
        cout<<"Light is on..."<<endl;
    }
    /**
     * @brief 关灯
     */
    void PowerOff()override{
        cout<<"Light is off..."<<endl;
    }
};


class Fan:public IElectricalEquipment{
public:
    ~Fan()override{
         cout<<"Fan destory..."<<endl;
    }
    /**
     * @brief 开风扇
     */
    void PowerOn()override{
        cout<<"Fan is on..."<<endl;
    }
    /**
     * @brief 关风扇
     */
    void PowerOff()override{
        cout<<"Fan is off..."<<endl;
    }
 \
};


class TV: public IElectricalEquipment{
public:
    ~TV()override{
         cout<<"TV destory..."<<endl;
    }
    /**
     * @brief 开电视
     */
    void PowerOn()override{
        cout<<"TV is on..."<<endl;
    }
    /**
     * @brief 关电视
     */
    void PowerOff()override{
        cout<<"TV is off..."<<endl;
    }

};
#endif // CONCRETE_IMPLEMENTOR_H
